home *** CD-ROM | disk | FTP | other *** search
/ Aminet 48 / Aminet 48 (2002)(GTI - Schatztruhe)[!][Apr 2002].iso / Aminet / demo / mag / Gods+Iris-D_12.lha / text / thescene-makingofboom < prev    next >
Encoding:
Text File  |  1980-03-22  |  8.1 KB  |  174 lines

  1. discnew.font,8
  2. «s6=166,227,181»
  3. «s7=191,206,254»
  4. «»
  5. «c2»«ac»BOOM - THE MAKING OF...«»
  6. «»
  7. «c1»By Scicco/Scarab and StingRay/Scarab«»
  8. «»
  9. «as»«c6»Scicco:«»
  10. «»
  11. «c7»All started in the early summer of 2000, when I visited
  12. «c6»DC.Clark and Mr.Vain «c7»in Herne. It was the first time we
  13. met outside a party. We had no plans for a 4k, I just
  14. tried to calculate my first samples. These first tries
  15. were very interesting for me, so i continued in calculating
  16. different samples. After I realized that the space needed
  17. to calc these samples was very small, «c6»the basic idea of
  18. making an intro in 4kb was born. «c7»I calculated some samples
  19. for the sounders, who tried to make tunes with them.
  20. Some days later the first tune was finished, the «c6»Boom-Song.«»
  21. «»
  22. «c7»I loved the sound, so I tried to find a way to get this
  23. tune in very little space. I needed some weeks, but the
  24. result was great: the whole song was running in about 1.2 kb.
  25. This gave us motivation to keep on coding. :)«»
  26. «»
  27. While I was coding and optimizing «c6»the 4kb-soundengine «c7»I finished
  28. the «c6»free-dir-plane effect. «c7»As we needed textures for this effect
  29. I also coded some routines calculating textures.«»
  30. «»
  31. Two months flow by, then we had another meeting at DaNDeEs place.
  32. It was a very interesting meeting as we planned more and more of
  33. the 4k. StingRay coded on my first «c6»metaball-tries «c7»while I was
  34. optimizing the texture-stuff.
  35. The funny thing is that we coded a tool to set the blobs on the
  36. screen so that we easily could «c6»create the logos. «c7»After we created
  37. the logos we coded a routine to let the blobs fly around. We
  38. tried to let them fly in a circle way, but there was a bug in the
  39. routine, the blobs flew like they wanted. But as it looked nice
  40. we decided to leave this "bug" and call it a feature. :) Then
  41. DC.Clark had the nice idea to let the blobs wobble while they are
  42. flying, and we did some code and it looked funny. We optimized
  43. the routine and the next effect was finished.«»
  44. «»
  45. After this meeting we were highly motivated to finish the intro.
  46. At this time the «c6»sound was finished, the texture-generator was done
  47. and the free-dirs and blobs were running as we wanted.«»
  48. «»
  49. «c7»Back home we optimized the routines a bit, then I went on holiday,
  50. so it was StingRay's task to do the systempart of the intro and
  51. additional effects, too.«»
  52. «»
  53. «»
  54. «c6»StingRay:«»
  55. «»
  56. «c7»Yo, coffee lover Sting at the keys now. Well, since I not only
  57. drink coffee the whole day but also claim to be a coder, I also
  58. coded some stuff for Boom. :) The first thing I did was to code
  59. the «c6»startup code «c7»for Boom. First I thought, that this wouldn't
  60. be very time consuming, because I already had my nice 4k startup
  61. code which I used in my 4k intro I did for MS2k-1. Since I already
  62. optimized it heavily (at least that's what I thought...) I didn't
  63. think that there was big room for optimizing left. But, coding
  64. knowledge increases and so I spend lot's of days «c6»killing bytes
  65. «c7»in the startup code. Actually I nearly completely recoded the
  66. whole startup code in a more efficient way and at the end
  67. I managed to cut down the startup code, including the palette
  68. generator, CGX/AGA support and the VBI handler to 834 Bytes.
  69. For the AGA support I used the «c6»mini-c2p routine «c7»by our
  70. dear c2p master, better known as Kalms. And guess what, I even
  71. put my dirty hands on his c2p code and optimized the c2p routine
  72. too. :) (Original size was 25o bytes, optimized size: 236 Bytes :D)
  73. Too bad I didn't count the amount of cigarettes and coffee
  74. I consumed while optimizing the startup code. :=)«»
  75. «»
  76. After the startup code was finished, the real fun started, putting
  77. the intro routines together. During the summer I coded a nice
  78. little «c6»water effect «c7»working with non-linear palettes (getting
  79. this one to run at decent speed on my 68o3o was quite a hard
  80. task, but that's another story) and a transparent rotation zoomer.
  81. Since we only used calculated (i.e. linear) palettes in Boom, I
  82. adapted both routines for linear palettes. Then, while watching
  83. my water routine, I got a nice idea (that doesn't happen very
  84. often ;D). How about writing something with the water? I simply
  85. used the metaball coords we used at the beginning to get
  86. «c6»'Boom' and 'SCL' «c7»written on the screen. This was quite nice
  87. but still I missed something. So I timed it with the music
  88. and now I know, why girls tend to call coders 'nerds'. :)
  89. I didn't know the inner workings of Scicco's nice sound
  90. engine and so I had to listen to the music over and over
  91. again to wait for the bass sample just to see my text
  92. changing routine in action. I'm not sure anymore, who of
  93. us spent more time listening to the tune, Scicco while
  94. coding the sound engine or me while timing my water
  95. effect ;). It took me nearly one day to get the correct
  96. timing...«»
  97. «»
  98. I then combined Scicco's «c6»free-directional tunnel «c7»with
  99. the water routine and the next problem arised. Lot's
  100. of overflow errors. So I had to implement a pixel-clip
  101. routine in the innerloop of my once so fast water
  102. routine. I managed to do the pixel-clipper in just 22
  103. bytes but it extremely slowed down the water routine :(
  104. But thanks to this «c6»pixel-clipper, «c7»we got some kind of
  105. «c6»'fake lighting' «c7»which looked quite nice ;)«»
  106. «»
  107. Implementing the «c6»transparent rotation zoomer «c7»wasn't
  108. much of a problem, I just had to spend some hours
  109. optimizing it, because my original routine wasn't
  110. coded with size but speed in mind.«»
  111. «»
  112. I then added all the other routines and spent day
  113. and night (mostly nights ;D) to optimize everything.
  114. I even developed my very own «c6»'Hunk Faker' «c7»which allowed
  115. us, to do the whole intro pc-relative, heavy magic
  116. indeed :). Never underestimate the power of Macros :).
  117. I called Scicco nearly everyday, telling him, how many
  118. bytes I killed last night :).
  119. But since I won't bore you with the details of
  120. 'Harcore byte killing using too much coffee, too many
  121. cigarettes and too less sleep' :) I hand over the keys to
  122. master Scicco again who successfully managed to
  123. bring back my coding motivation which I seemed to
  124. have lost forever. Thanks man, you're great!
  125. But before I go I just wanna say hello to all coders
  126. still doing great demos on our beloved Amiga.
  127. «c6»Keep the spirit!«»
  128. «»
  129. «»
  130. Scicco:«»
  131. «»
  132. «c7»After all parts for the intro were finished, we discovered, that
  133. we needed an «c6»own cruncher. «c7»All 'standard' crunchers had the same effect:
  134. the assembled intro got bigger. So I used a known crunching algorithm
  135. and coded an own decruncher. After some weeks of optimizing the
  136. decruncher (I needed to as the decruncher code is not crunched :) the
  137. decruncher was finished: about 300 bytes of code. The cruncher was a
  138. bit better than the familiar used ones and it saved some bytes in the
  139. crunched file.«»
  140. «»
  141. After coding this nice decruncher we brought ourself to finish
  142. the intro. All effects were done, only «c6»the fader and the final
  143. timing «c7»was missing. We met again to finish this piece of code
  144. together. We needed one more long night to finish the fader and
  145. parts of the timing. After the intro was running in a final design
  146. we looked at the size again: uncrunched 4702 bytes. Crunched with our
  147. cruncher it was about 4500 bytes.«»
  148. «»
  149. The next two weeks were full of «c6»hardcode optimizing. «c7»Everyone
  150. was thinking about X-Mas «c5»(not me, I was sleeping after all the
  151. hard work I did for Boom :D -Sting) «c7»and I was thinking about Boom
  152. and commands and ways to optimize this or that routine. :) Short: I
  153. had only Boom in my mind. I optimized all stuff down to crunched
  154. 4096 bytes.«»
  155. «»
  156. The funny thing: later we wanted to fix one bug which occured while the
  157. intro was running on a CGFX-screen. We changed only one register, no
  158. more commands, and the intro was 4 bytes bigger, 4100 bytes. Hehe, it
  159. was the last fun to find the last command to kill to achieve the
  160. final size again. :) We found it and «c6»Boom «c7»was finished!«»
  161. «»
  162. We all were looking forward to the MS2001 and were very lucky when the
  163. intro achieved place #1. «c6»Thanks to all voters!«»
  164. «»
  165. It was real fun to create this intro!«»
  166. «»
  167. And finally we have to send our respect to «c6»Ephidrena and Exploder «c7»for
  168. being such good 4k-creators! Your intros also inspired us to code
  169. a nice 4k-intro!«»
  170. «»
  171. «»
  172. «c6»Scicco and StingRay «c7»signing off...«»
  173. «e»
  174.